13310
20256
Тут вже є відповіді на це питання:
Як повернути відповідь з асинхронного дзвінка?
(42 відповіді)
Закрито 5 місяців тому.
Отже, під час запуску наступного коду відповідь console.log (ba) не визначена
Але коли я пробую це в консолі Chrome V8, я отримую правильний результат, який я очікую. Я не зовсім впевнений, що тут відбувається.
нехай ба;
функція Setqa () {
(async () => {
await fetch ('questions.json')
.тем (res => res.json ())
. then (async (data) => {
ba = очікування даних;
});
}) ();
}
Setqa ();
console.log (ba);
Вміст файлу json такий:
"питання": [{
"questionType": "кілька",
"question": "Як погода",
"відповідає": "",
"questionAnswer": ""
},
{
"questionType": "кілька",
"question": "Як справи сьогодні?",
"відповіді": " 1",
"questionAnswer": "textPurpose1"
}
] 
Я думаю, це повинно спрацювати
нехай ба;
функція Setqa () {
return fetch ('questions.json')
.тем (res => res.json ())
. then (async (data) => {
ba = очікування даних;
});
}
Setqa (). Потім (() => console.log (ba));
Але кращий підхід був би
функція асинхронізації setQa () {
const res = await fetch ('questions.json');
повернути res.json ();
}
нехай ba = очікує setQa ();
|
Не відповідь, яку ви шукаєте? Перегляньте інші запитання, позначені тегами javascript json fetch console.log, або задайте власне запитання.